#pragma once
#define FUCTIONTYPE __stdcall

void* FUCTIONTYPE Gumbo_Query_Document_new();
void FUCTIONTYPE Gumbo_Query_Document_Delete(void* pDoc);
bool FUCTIONTYPE Gumbo_Query_Document_parse(void* pDoc, const char* lpszText);
void* FUCTIONTYPE Gumbo_Query_Document_Find(void* pDoc, const char* lpszQuery);
void FUCTIONTYPE Gumbo_Query_Delete(void* pSelect);
void* FUCTIONTYPE Gumbo_Query_GetNode(void* pSelect, int nIndex);
void FUCTIONTYPE Gumbo_Query_Node_Delete(void* pNode);
int FUCTIONTYPE Gumbo_Query_GetCount(void* pSelect);
bool FUCTIONTYPE Gumbo_Query_Node_valid(void* pNode);
void* FUCTIONTYPE Gumbo_Query_Node_parent(void* pNode);
void* FUCTIONTYPE Gumbo_Query_Node_nextSibling(void* pNode);
void* FUCTIONTYPE Gumbo_Query_Node_prevSibling(void* pNode);
int FUCTIONTYPE Gumbo_Query_Node_childNum(void* pNode);
void* FUCTIONTYPE Gumbo_Query_Node_childAt(void* pNode, int nindex);
const char* FUCTIONTYPE Gumbo_Query_String_GetText(void* pString);
void FUCTIONTYPE Gumbo_Query_String_Delete(void* pString);
const char* FUCTIONTYPE Gumbo_Query_Node_attribute(void* pNode, const char* lpszKey);
int FUCTIONTYPE Gumbo_Query_Node_attributeCount(void* pNode);
const char* FUCTIONTYPE Gumbo_Query_Node_GetAttributeNameByIndex(void* pNode, int nIndex);
const char* FUCTIONTYPE Gumbo_Query_Node_GetAttributeValueByIndex(void* pNode, int nIndex);
void* FUCTIONTYPE Gumbo_Query_Node_text(void* pNode);
void* FUCTIONTYPE Gumbo_Query_Node_ownText(void* pNode);
int FUCTIONTYPE Gumbo_Query_Node_startPos(void* pNode);
int FUCTIONTYPE Gumbo_Query_Node_endPos(void* pNode);
int FUCTIONTYPE Gumbo_Query_Node_startPosOuter(void* pNode);
int FUCTIONTYPE Gumbo_Query_Node_endPosOuter(void* pNode);
void* FUCTIONTYPE Gumbo_Query_Node_tag(void* pNode);
void* FUCTIONTYPE Gumbo_Query_Node_find(void* pNode, const char* lpszQuery);
